#include <assert.h>
void assert(expression);
Описание.
Процедура assert печатает диагностическое сообщение и завершает вызванный процесс, если expression ложно, 0. Диагностическое сообщение имеет форму:
Assertion failed: file <filename>, line <linenumber>,
где filename - имя исходного файла, linenumber - номер строки, которая ошибочна.
Если expression истинно (ненулевое), никакого действия не выполняется.
Процедура assert обычно используется для обнаружения логических ошибок в программе. Выражение expression должно быть задано таким образом, чтобы оно было истинным, если программа выполняется как намечено. После того как отлажена программа, может быть использован специальный "no debug" идентификатор NDEBUG для удаления вызовов assert из программы. Если NDEBUG определен (любым значением) опцией командной строки /D или с директивой #define, препроцессор языка Си удаляет все вызовы assert из исходной программы.
Возвращаемое значение.
Возвращаемого значения нет.
Замечание.
Процедура assert реализована как макро.
Пример
#include
#include
analyse_string (string)
char *string;
{
/* проверка строки перед обработкой */
assert (string != NULL);
/* не может быть NULL,
здесь должна быть
строка */
assert (*string != '\0');
/* не может быть
пустой */
.
.
.
}